1. Field of the Invention
The present invention relates generally to an improved data processing system. More specifically, the present invention is directed to a computer implemented method, system, and computer usable program code for constructing virtual resources.
2. Description of the Related Art
Today, most businesses rely on complex information technology (IT) infrastructure for day to day operations. A user, such as a system administrator or operator, may manage this complex IT infrastructure by, for example, installing software, configuring firewalls, and updating software by installing patches. Managing this complex IT infrastructure requires flexibility and agility based on the need of the business. However, the total cost of ownership of complex IT infrastructures is continuously increasing. Analysts attribute this increasing cost to several factors, such as heterogeneity of resources, large scale, complex software, and network interdependencies, that cut across layers and hosting environments.
To address these increasing cost challenges, businesses are beginning to adopt virtualization technologies, such as, for example, VMware, which is virtualization software available from VMware, Inc., Palo Alto, Calif. and XEN, which is open source virtualization software. Such virtualization technologies enable a user to seamlessly partition resources of a single physical machine into multiple virtual machines. Each virtual machine runs its own operating system (OS) and software stack. Thus, virtualization technology may relieve businesses from dealing with different types of hardware and OSs and the associated costs. Also, this virtualization technology may allow businesses to better utilize resources of physical machines or containers without jeopardizing isolation and security or creating unnecessary dependencies and complexities.
While this virtualization technology may eliminate dependencies on hardware and OSs, deploying a solution, which is composed of multiple components, on an OS container is still a complex and laborious task due to the many interdependencies that exist between software products and due to poor consumability of software products. Consequently, it has been proposed to combine virtualization technology with a solution appliance, which is also known as a virtual resource. A virtual resource is a resource that provides a well-defined set of functions. A virtual resource may be internally composed of multiple components that are configured together to achieve a higher level function.
However, there are no good methodologies or tools available today to fulfill the vision of utilizing virtual resources to radically simplify IT management. By leveraging virtualization technologies, such as VMware and XEN, users are able to freeze dry an entire stack of software components, which are then re-instantiated on different physical machines or hosts. But, no good method currently exists to create the initial stack of software components, to instantiate this stack of software components with different input parameters or identities, or to combine several of these software component stacks into a single virtual resource that may be managed as easily as a single software component stack.
Therefore, it would be beneficial to have an improved computer implemented method, system, and computer usable program code for constructing virtual resources.